home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
language
/
turboass.lzh
/
LIBRARYS
/
SYS_VARS.S
< prev
next >
Wrap
Text File
|
1986-02-06
|
9KB
|
204 lines
; ATARI.S Equate and macro file for atari ST RMS
; Extended and Improved: 8/11/88 - RJZ
; Combined and Extended and Improved: 09/16/88 - RMS
;
save_rs: EQU ^^RSCOUNT ;RS-Counter merken
; File header structure
RSRESET
FILE_ID: RS.W 1
TSIZE: RS.L 1
DSIZE: RS.L 1
BSIZE: RS.L 1
SSIZE: RS.L 1
XXX1: RS.L 1
XXX2: RS.L 1
XXX3: RS.W 1
HEADSIZE: EQU ^^RSCOUNT
; base page structure
RSRESET
LOWTPA: RS.L 1
HITPA: RS.L 1
TBASE: RS.L 1
TLEN: RS.L 1
DBASE: RS.L 1
DLEN: RS.L 1
BBASE: RS.L 1
BLEN: RS.L 1
DTA: RS.L 1
PARENT: RS.L 1
XXXX: RS.L 1
ENVIR: RS.L 21
CMDLINE: RS.B 128
; defines
TEXTSZ: EQU TLEN
DATASZ: EQU DLEN
BSSSZ: EQU BLEN
BPSZ: EQU ^^RSCOUNT
MYDTA: EQU DTA
RSSET save_rs ;RS-Counter wieder zurücksetzen
CR: EQU $0D
LF: EQU $0A
TAB: EQU $09
****
**** This is a preliminary equates file for the Atari ST;
**** not all the equates may be here, there may be typos
**** we haven't caught, and not all the macros for Gemdos
**** and the BIOS have been defined.
****
;
; Atari ST hardware locations
;
memconf: EQU $FFFF8001 ;memory configuration
vbasehi: EQU $FFFF8201
vbasemid: EQU $FFFF8203 ;Video base address
vcounthi: EQU $FFFF8205
vcountmid: EQU $FFFF8207
vcountlo: EQU $FFFF8209 ;Video display counter
syncmode: EQU $FFFF820A ;video sync mode
vbaselo: EQU $FFFF820D ;Video base address (lo; STE only)
linewid: EQU $FFFF820F ;Width of a scan-line (Words, minus 1; STE only)
palette: EQU $FFFF8240 ;color registers 0..15
rezmode: EQU $FFFF8260 ;Resolution mode (0=320x200,1=640x200,2=640x400)
hscroll: EQU $FFFF8265 ;Horizontal scroll count (0..15; STE only)
diskctl: EQU $FFFF8604 ;disk controller data access
fifo: EQU $FFFF8606 ;DMA mode control
dmahi: EQU $FFFF8609
dmamid: EQU $FFFF860B
dmalo: EQU $FFFF860D ;DMA base address
cmdreg: EQU $80 ;1770/FIFO command register select
trkreg: EQU $82 ;1770/FIFO track register select
secreg: EQU $84 ;1770/FIFO sector register select
datareg: EQU $86 ;1770/FIFO data register select
; GI ("psg") sound chip:
giselect: EQU $FFFF8800 ;(W) sound chip register select
giread: EQU $FFFF8800 ;(R) sound chip read-data
giwrite: EQU $FFFF8802 ;(W) sound chip write-data
gitoneaf: EQU 0 ;channel A fine/coarse tune
gitoneac: EQU 1
gitonebf: EQU 2 ;channel B
gitonebc: EQU 3
gitonecf: EQU 4 ;channel C
gitonecc: EQU 5
ginoise: EQU 6 ;noise generator control
gimixer: EQU 7 ;I/O control/volume control register
giaamp: EQU 8 ;channel A, B, C amplitude
gibamp: EQU 9
gicamp: EQU $0A
gifienvlp: EQU $0B ;envelope period fine, coarse tune
gicrnvlp: EQU $0C
giporta: EQU $0E ;GI register# for I/O port A
giportb: EQU $0F ;Centronics output register
; Bits in "giporta":
xrts: EQU 8 ;RTS output
dtr: EQU $10 ;DTR output
strobe: EQU $20 ;Centronics strobe output
gpo: EQU $40 ;"general purpose" output
; 68901 ("mfp") sticky chip:
mfp: EQU $FFFFFA00 ;mfp base
gpip: EQU mfp+1 ;general purpose I/O
aer: EQU mfp+3 ;active edge reg
ddr: EQU mfp+5 ;data direction reg
iera: EQU mfp+7 ;interrupt enable A & B
ierb: EQU mfp+9
ipra: EQU mfp+$0B ;interrupt pending A & B
iprb: EQU mfp+$0D
isra: EQU mfp+$0F ;interrupt inService A & B
isrb: EQU mfp+$11
imra: EQU mfp+$13 ;interrupt mask A & B
imrb: EQU mfp+$15
vr: EQU mfp+$17 ;interrupt vector base
tacr: EQU mfp+$19 ;timer A control
tbcr: EQU mfp+$1B ;timer B control
tcdcr: EQU mfp+$1D ;timer C & D control
tadr: EQU mfp+$1F ;timer A data
tbdr: EQU mfp+$21 ;timer B data
tcdr: EQU mfp+$23 ;timer C data
tddr: EQU mfp+$25 ;timer D data
scr: EQU mfp+$27 ;sync char
ucr: EQU mfp+$29 ;USART control reg
rsr: EQU mfp+$2B ;receiver status
tsr: EQU mfp+$2D ;transmit status
udr: EQU mfp+$2F ;USART data
; 6850 registers:
keyctl: EQU $FFFFFC00 ;keyboard ACIA control
keybd: EQU $FFFFFC02 ;keyboard data
midictl: EQU $FFFFFC04 ;MIDI ACIA control
midi: EQU $FFFFFC06 ;MIDI data
; BIOS Variables
etv_timer: EQU $0400 ;vector for timer interrupt chain
etv_critic: EQU $0404 ;vector for critical error chain
etv_term: EQU $0408 ;vector for process terminate
etv_xtra: EQU $040C ;5 reserved vectors
memvalid: EQU $0420 ;indicates system state on RESET
memcntlr: EQU $0424 ;mem controller config nibble
resvalid: EQU $0426 ;validates 'resvector'
resvector: EQU $042A ;[RESET] bailout vector
phystop: EQU $042E ;physical top of RAM
_membot: EQU $0432 ;bottom of available memory;
_memtop: EQU $0436 ;top of available memory;
memval2: EQU $043A ;validates 'memcntlr' and 'memconf'
flock: EQU $043E ;floppy disk/FIFO lock variable
seekrate: EQU $0440 ;default floppy seek rate
_timr_ms: EQU $0442 ;system timer calibration (in ms)
_fverify: EQU $0444 ;nonzero: verify on floppy write
_bootdev: EQU $0446 ;default boot device
palmode: EQU $0448 ;nonzero ==> PAL mode
defshiftmd: EQU $044A ;default video rez (first byte)
sshiftmd: EQU $044C ;shadow for 'shiftmd' register
_v_bas_ad: EQU $044E ;pointer to base of screen memory
vblsem: EQU $0452 ;semaphore to enforce mutex in vbl
nvbls: EQU $0454 ;number of deferred vectors
_vblqueue: EQU $0456 ;pointer to vector of deferred vfuncs
colorptr: EQU $045A ;pointer to palette setup (or NULL)
screenpt: EQU $045E ;pointer to screen base setup (|NULL)
_vbclock: EQU $0462 ;count of vblank interrupts
_frclock: EQU $0466 ;count of unblocked vblanks (not blocked by vblsem)
hdv_init: EQU $046A ;hard disk initialization
swv_vec: EQU $046E ;video change-resolution bailout
hdv_bpb: EQU $0472 ;disk "get BPB"
hdv_rw: EQU $0476 ;disk read/write
hdv_boot: EQU $047A ;disk "get boot sector"
hdv_mediach: EQU $047E ;disk media change detect
_cmdload: EQU $0482 ;nonzero: load COMMAND.COM from boot
conterm: EQU $0484 ;console/vt52 bitSwitches (%%0..%%2)
trp14ret: EQU $0486 ;saved return addr for _trap14
criticret: EQU $048A ;saved return addr for _critic
themd: EQU $048E ;memory descriptor (MD)
_____md: EQU $049E ;(more MD)
savptr: EQU $04A2 ;pointer to register save area
_nflops: EQU $04A6 ;number of disks attached (0, 1+)
constate: EQU $04A8 ;state of conout() parser
save_row: EQU $04AC ;saved row# for cursor X-Y addressing
sav_context: EQU $04AE ;pointer to saved processor context
_bufl: EQU $04B2 ;two buffer-list headers
_hz_200: EQU $04BA ;200hz raw system timer tick
_drvbits: EQU $04C2 ;bit vector of "live" block devices
_dsk